package request

type TmallServicecenterWorkcardAssignworkerRequest struct {
	/*
	   核销单外部id     */
	OuterId *string `json:"outer_id,omitempty" required:"false" `
	/*
	   需要指派的工人id     */
	TargetWorkerId *int64 `json:"target_worker_id,omitempty" required:"false" `
	/*
	   需要指派的工人手机     */
	TargetWorkerMobile *string `json:"target_worker_mobile,omitempty" required:"false" `
	/*
	   需要派工人的工单id     */
	WorkcardId *int64 `json:"workcard_id,omitempty" required:"false" `
	/*
	   需要指派的工人姓名     */
	TargetWorkerName *string `json:"target_worker_name,omitempty" required:"false" `
	/*
	   不检查订单类型的原因ID由运营提供，服务商不可自由传     */
	StopOrderTypeCheckReason *int64 `json:"stop_order_type_check_reason,omitempty" required:"false" `
	/*
	   核销单id     */
	FulfilTaskId *int64 `json:"fulfil_task_id,omitempty" required:"false" `
	/*
	   扩展信息     */
	ExtJson *string `json:"ext_json,omitempty" required:"false" `
}

func (s *TmallServicecenterWorkcardAssignworkerRequest) SetOuterId(v string) *TmallServicecenterWorkcardAssignworkerRequest {
	s.OuterId = &v
	return s
}
func (s *TmallServicecenterWorkcardAssignworkerRequest) SetTargetWorkerId(v int64) *TmallServicecenterWorkcardAssignworkerRequest {
	s.TargetWorkerId = &v
	return s
}
func (s *TmallServicecenterWorkcardAssignworkerRequest) SetTargetWorkerMobile(v string) *TmallServicecenterWorkcardAssignworkerRequest {
	s.TargetWorkerMobile = &v
	return s
}
func (s *TmallServicecenterWorkcardAssignworkerRequest) SetWorkcardId(v int64) *TmallServicecenterWorkcardAssignworkerRequest {
	s.WorkcardId = &v
	return s
}
func (s *TmallServicecenterWorkcardAssignworkerRequest) SetTargetWorkerName(v string) *TmallServicecenterWorkcardAssignworkerRequest {
	s.TargetWorkerName = &v
	return s
}
func (s *TmallServicecenterWorkcardAssignworkerRequest) SetStopOrderTypeCheckReason(v int64) *TmallServicecenterWorkcardAssignworkerRequest {
	s.StopOrderTypeCheckReason = &v
	return s
}
func (s *TmallServicecenterWorkcardAssignworkerRequest) SetFulfilTaskId(v int64) *TmallServicecenterWorkcardAssignworkerRequest {
	s.FulfilTaskId = &v
	return s
}
func (s *TmallServicecenterWorkcardAssignworkerRequest) SetExtJson(v string) *TmallServicecenterWorkcardAssignworkerRequest {
	s.ExtJson = &v
	return s
}

func (req *TmallServicecenterWorkcardAssignworkerRequest) ToMap() map[string]interface{} {
	paramMap := make(map[string]interface{})
	if req.OuterId != nil {
		paramMap["outer_id"] = *req.OuterId
	}
	if req.TargetWorkerId != nil {
		paramMap["target_worker_id"] = *req.TargetWorkerId
	}
	if req.TargetWorkerMobile != nil {
		paramMap["target_worker_mobile"] = *req.TargetWorkerMobile
	}
	if req.WorkcardId != nil {
		paramMap["workcard_id"] = *req.WorkcardId
	}
	if req.TargetWorkerName != nil {
		paramMap["target_worker_name"] = *req.TargetWorkerName
	}
	if req.StopOrderTypeCheckReason != nil {
		paramMap["stop_order_type_check_reason"] = *req.StopOrderTypeCheckReason
	}
	if req.FulfilTaskId != nil {
		paramMap["fulfil_task_id"] = *req.FulfilTaskId
	}
	if req.ExtJson != nil {
		paramMap["ext_json"] = *req.ExtJson
	}
	return paramMap
}

func (req *TmallServicecenterWorkcardAssignworkerRequest) ToFileMap() map[string]interface{} {
	fileMap := make(map[string]interface{})
	return fileMap
}
